#ifndef SEARCHANDREPLACE_H
#define SEARCHANDREPLACE_H

#include <QDialog>
#include <QMessageBox>
#include "textedit.h"

namespace Ui
{
    class SearchAndReplace;
}

class SearchAndReplace : public QDialog
{
    Q_OBJECT

    public:
        explicit SearchAndReplace(QWidget *parent = 0, TextEdit* = NULL, bool replace = false);
        ~SearchAndReplace();

    private slots:
        void on_btnNext_clicked();
        void on_btnNext_2_clicked();
        void on_btnReplace_clicked();
        void on_btnReplaceAll_clicked();
        void on_btnSearchAll_clicked();

    signals:
        void searchAllResults(QMap<int, QString>&, QString&); // la QMap contient <n° ligne, ligne de texte> pour chaque ligne contenant une occurrence de la chaine cherchée

    private:
        Ui::SearchAndReplace *ui;
        TextEdit* textEdit;

        QTextDocument::FindFlags getFlags(bool replace = false);
        bool searchText(QString, bool replace = false, bool notify = true);
};

#endif
